The present disclosure relates generally to information handling systems, and more particularly to a natural language processing system that provides for the control of information handling systems via commands provided using natural language.
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
It is becoming increasingly prevalent to control information handling systems via the use of natural language, and a variety of information handling systems are being introduced that utilize natural language in their operation. For example, televisions, phones, lighting systems, security systems, other automation systems, customer help systems, and/or other natural language processing systems allow users to provide commands via natural language (rather than defined computing languages), and then convert those commands to computing languages for execution. One specific example of home automation systems include devices that utilize spoken natural language such as the AMAZON 6 ECHO® from AMAZON.COM® Inc. of Seattle, Wash., United States, the GOGGLE® HOME® from GOGGLE® Inc. of Mountain View, Calif., United States, and APPLE HOMEPOD® from APPLE® of Cupertino, Calif., United States. These devices operate to record spoken natural language command following the detection of an activation phrase (e.g., “ALEXA®” for the AMAZON® ECHO®, “HEY GOOGLE®” for the GOGGLE® HOME®, and “SIRI®” for the APPLE® HOMEPOD®), and then send that recording over the Internet to a natural language processing server system, which converts that recorded spoken natural language command to a text natural language command, and matches the entire text natural language command to an associated action. That action may then be carried out by the natural language processing server system to, for example, purchase a product (e.g., in response to a natural language command “buy more soap”), provided back to the device for execution (e.g., in response to a natural language command “turn the lights off”), and/or execute that action in a variety of manners that would be apparent to one of skill in the art in possession of the present disclosure. Similarly, customer help systems may allow a user to type a text query using natural language, and may utilize similar conventional natural language processing (e.g., match the entire text natural language command to an action) to return a result for that query.
Such conventional natural language processing systems require relatively large language ontology databases in order to determine the best match of a natural language command to an action, and those databases grow quickly when artificial intelligence is used to allow the natural language processing system to learn new natural language commands and their associated actions, provide more accurate action matches for any given natural language command, as well as provide the database with information that allows the natural language processing system to understand different parts of speech. As such, sophisticated natural language processing is currently provided via the cloud/network-based systems discussed above, as the requirement of a significant amount of storage to hold the always growing language ontology databases that increase the accuracy of natural language processing is not feasible for most local devices.
Solutions to these issues were developed by the inventor of the present disclosure, and are described in U.S. patent application Ser. No. 15/840,931, filed on Dec. 13, 2017, entitled “Natural Language Processing System”, the disclosure of which is incorporated by reference herein in its entirety. As described in detail in that disclosure, those solutions operate to analyze natural language commands to identify action elements, target elements, and command elements, and for each command element in the natural language command, a playlist action matrix is accessed and iteratively checked to identify a playlist pointer in that playlist access matrix that indicates a best matching command element relative to the other command elements in the natural language command. When the playlist action matrix has been iterated through for all of the command elements in the natural language command, the playlist pointer that indicated the best match is used to identify the computing language command in a command playlist, and that computing language command is executed on the target element based on the action element. However, while these techniques provide benefits over conventional natural language processing systems by enabling accurate results with reduced database sizes, the inventor of that disclosure and the present disclosure has determined that different phrasing and/or word placement in natural language commands that are intended to accomplish the same result (e.g., “I want to show the system os version information for network switch one” vs. “I want to show the version of the system os for network switch one”) may produce different results, which is undesirable.
Accordingly, it would be desirable to provide an improved natural language processing system.